The field of communications has become increasingly important in today's society. One area of importance associated with network communications relates to network congestion. Network congestion can occur when a link or node is carrying so much data that its quality of service deteriorates, leading to packet loss and other undesirable network behavior. As traffic and the subscriber base of end users increases, so too does network congestion, as more and more users push higher amounts of traffic into existing network infrastructure. Recent studies have shown that overall data traffic is expected to double every year: leading to increasingly congested networks. Therefore, the efficient management of communication sessions and data flows becomes even more significant for optimizing performance in the network.